home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Arsenal Files 8
/
The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO
/
doorware
/
kspslp37.zip
/
KSP-SLIP.DOC
< prev
next >
Wrap
Text File
|
1996-10-03
|
67KB
|
1,917 lines
KSP SLIP (tm)
A SLIP Door for Bulletin Board Systems
Version 3.7
Copyright (C) 1995-96
All Rights Reserved
by
KEY SOFTWARE PRODUCTS
40 Atherton Court
Redwood City, California 94061
BBS/FAX: 415-364-9847
KSP SLIP is a trademark of Key Software Products.
PCL4C is a trademark of MarshallSoft Computing.
WATTCP is a trademark of Erick Engelke.
Power C is a trademark of Mix Software.
Multi-C is a trademark of Mix Software.
DESQview is a trademark of Quarterdeck Office Systems.
Lantastic is a trademark of Artisoft, Inc.
Novell is a trademark of Novell Corp.
Banyan Vines is a trademark of Banyan Inc.
TABLE OF CONTENTS
CHAPTER 1 - INTRODUCTION ........................... 1
1.1 Compatibility with BBS Software ............... 2
1.2 Hardware Requirements ....................... 2
1.3 Software Requirements ....................... 2
1.4 Other KSP Software ........................... 3
1.4.1 KSP Telnet ............................. 3
1.4.2 KSP FTP ................................ 3
1.4.3 KSP Mail ............................... 3
1.4.4 KSP HOST ............................... 3
1.4.5 So Many CD's ............................ 4
CHAPTER 2 - INSTALLATION ........................... 5
2.1 Packet Driver Shims for Novell ................. 5
2.2 Packet Driver Shim for Novell w/Token-RingSNAP .. 6
2.3 Packet Driver Shims for Lantastic .............. 6
2.3.1 Changes to CONFIG.SYS ................... 6
2.3.2 Changes to PROTOCOL.INI ................. 7
2.4 Packet Driver Shims for Banyan Vines ............ 8
2.5 Other Things to Configure ..................... 8
CHAPTER 3 - THE WATTCP CONFIGURATION FILE ............. 9
3.1 Multiple Nodes and the "include" Directive ...... 10
3.2 Using a BOOTP Server .......................... 10
3.3 Manual Configuration ........................ 10
3.3.1 The PC's Host Name ....................... 11
3.3.2 The PC's Domain Name ..................... 11
3.3.3 The PC's IP Address ...................... 11
3.3.4 The Name Server's IP Address .............. 12
3.3.5 The Router's IP Address .................. 12
3.3.6 The PC's Network Mask .................... 12
3.4 TCP/IP Parameters (optional) ................. 12
3.4.1 Timeouts .............................. 13
3.4.2 Maximum Segment Size (MSS) ............... 13
3.5 SLIP Operating Parameters .................... 13
3.5.1 Dynamic Parameters ..................... 14
3.5.2 Blocking Access to Certain Sites .......... 14
3.5.3 Exceptions to Blocking .................. 16
3.5.4 Combining Blocking + Forwarding + Exceptions 16
3.5.5 Session Time Limit ...................... 17
3.5.6 Session Reserve Time .................... 17
3.5.7 Inactivity Limit ....................... 17
3.5.8 Minimum Baud Rate ....................... 18
3.5.9 Operating Hours ........................ 18
3.5.10 Startup Message ....................... 18
3.5.11 Minimum Baud Rate Message ............... 19
3.5.12 Operating Hours Message ................ 19
3.5.13 User Session Logging ................... 19
3.5.14 SLIP Packet Monitor .................... 19
TABLE OF CONTENTS
3.5.15 Non-Standard Port/Fossil Break Detect ... 20
3.5.16 Eliminating the Startup Count-Down ...... 20
3.5.17 Silencing the BBS console bell ........... 20
3.5.18 Disabling the Local Screen .............. 21
3.5.19 Hanging Up When Exiting From the Door ...... 21
CHAPTER 4 - INSTALLING THE SLIP DOOR COMMAND ........... 22
4.1 Command Line Parameters ...................... 22
4.1.1 The /MAXMINS Parameter .................. 22
4.1.2 The /CONFIG Parameter ................... 22
4.1.3 KSP-SLIP.EXE Exit Codes ................. 23
4.1.4 Checking Packet Counts (PKTCOUNT.EXE) .... 23
CHAPTER 5 - INSTALLING YOUR ACCESS KEY ................ 24
CHAPTER 6 - CUSTOMIZING THE DISPLAY FILES ............. 25
6.1 PCBoard Display Macros ....................... 25
6.2 Macros Unique to KSP SLIP ...................... 25
6.3 Justification and Spacing .................... 25
6.3.1 No Justification ....................... 26
6.3.2 Left Justification ..................... 26
6.3.3 Center Justification ................... 26
6.3.4 Right Justification .................... 26
6.4 The DISPLAY Program .......................... 27
APPENDIX 1 - HOW TO REACH US .......................... 28
APPENDIX 2 - GETTING UPDATES VIA THE INTERNET .......... 29
APPENDIX 3 - LEGAL STUFF ............................ 30
Oct 03, 1996 KSP SLIP (tm) v3.7 1
CHAPTER 1 - INTRODUCTION
Many BBS's now offer E-Mail access to the Internet. But few if
any offer a real TCP/IP connection. As compared to mere E-Mail
access, providing a TCP/IP connection opens up a large number of
new possibilities to callers, such as the ability to remote
login to Internet hosts in foreign countries using Telnet, or to
access files on those hosts using FTP, or to search for
information using Gopher, Archie, and the new multimedia
hypertext browser, Mosaic.
KSP SLIP establishes a logical two-way connection between the
user's serial line and the Internet:
+----------+ |
User's | | | Local Area Network
Modem <----->| KSP SLIP |<----+ connected to the
| | | Internet
+----------+ |
BBS Machine
As indicated, the physical connection between the BBS machine
and the Internet is usually by means of an Ethernet card
attached to a local area network that is attached to the
Internet. However, this connection could instead be simply a
separate modem connection to a commercial Internet access
provider, such as NETCOM.
TCP/IP encapsulates data in packets and transfers those packets
according to a specific communication protocol. Data on the
serial line between the BBS and the caller must obey this
protocol; KSP SLIP does this using a popular protocol called
SLIP (Serial Link Internet Protocol). Of course the caller must
also be using software at his end that also supports SLIP; there
are several shareware products for this purpose, available from
the Key Software Products BBS.
KSP SLIP meets the following BBS-specific needs:
1. Terminates the BBS session when user's time limit
expires.
2. Terminates the BBS session when user hangs up.
3. Terminates when there's no activity for a
sysop-specified period of time.
4. Records the SLIP session in a log file.
5. Provide colorized or parameterized messages to
user.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 2
6. Restrict users by baud rate.
7. Restrict hours of operation.
KSP SLIP is shareware. The unlicensed version is fully
functional except that it imposes a maximum of five minutes per
SLIP session. Once licensed, the user is limited only by the
amount of time remaining in his BBS session.
KSP SLIP was implemented using Erick Engelke's Waterloo TCP
library, MarshallSoft Computing's PCL4C Personal Communications
library, and Mix Software's Power C compiler and Multi-C
multi-threaded code library.
1.1 Compatibility with BBS Software
KSP SLIP is compatible with any BBS software that can generate a
DOOR.SYS file. It works with a BBS configured to use the
standard COM1 through COM4 ports, or will automatically detect
and use a Fossil driver.
1.2 Hardware Requirements
KSP SLIP inherently requires that the PC running your BBS
software have a physical connection to a TCP/IP network -
normally the Internet. Ideally, this connection is by means of
an adapter card connected to an Ethernet at your company or
school (and then through a "gateway" to the Internet).
It is also possible to connect to the Internet through a
commercial Internet Access Provier via a dial-up SLIP (Serial
Line Internet Protocol) connection. This approach requires a
second serial port, modem, and telephone line dedicated to this
purpose. Information on finding such a provider is available on
the KSP BBS.
1.3 Software Requirements
KSP SLIP runs on top of another piece of software called a
"packet driver". The packet driver presents a standard software
interface to KSP SLIP, regardless of the type of hardware
interface that connects the PC to the network. Public domain
packet drivers exist for SLIP links and most Ethernet cards.
If your BBS uses a multi-tasking operating system to run
multiple nodes on a single PC, then you will need a "packet
multiplexer". A packet multiplexer designed specifically for
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 3
use with KSP network products running under DESQview is
available as a freeware package distributed as KSPMUX*.ZIP,
where the "*" is the version number. KSP SLIP is DESQview
"aware" to provide better performance in a multitasking
environment.
If your PC is connected to a non-TCP/IP proprietary network
(such as Novell or Lantastic), you will probably need a packet
driver "shim".
KSP SLIP does NOT require that you purchase a separate TCP/IP
package, such as that sold by Novell, Artisoft, or IBM. KSP
SLIP should happily coexist with any of these packages,
however.
An assortment of public domain packet drivers, multiplexers, and
shims are available on the KSP BBS.
1.4 Other KSP Software
Key Software Products offers a number of other products for
BBS's:
1.4.1 KSP Telnet
A door program that allows callers to connect to remote
computers anywhere on the Internet via your BBS. Available now
on our BBS.
1.4.2 KSP FTP
A door program that allows callers to transfer files to/from
remote computers anywhere on the Internet via your BBS.
1.4.3 KSP Mail
A Multi-Threaded Server for SMTP Mail and NNTP Usenet news.
Replaces UUCP, its monthly fees, and slow transfer rates! No
more unwanted newsgroups! Instant mail without waiting for
scheduled events! Works with any BBS software that presently
uses UUCP. Requires a 24hr TCP/IP Internet connection. Can now
receive NNTP news feeds!
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 4
1.4.4 KSP HOST
An inbound Telnet server for MS/DOS Bulletin Board Systems.
Every node can answer both telnet and modem calls! Requires a
fossil driver on each node, a 24 hour TCP/IP connection to the
Internet, and a local area network that supports NetBios such as
Novell or Lantastic.
1.4.5 So Many CD's
A PCBoard PPE to handle off-line CD-Roms. Seamlessly integrated
into PCBoard. Users post requests for off-line files and have
then returned as attachments to messages. Configurable message
pack-out dates automatically keep your hard disk from getting
cluttered. Available now on our BBS.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 5
CHAPTER 2 - INSTALLATION
Before installing KSP SLIP as a BBS door, you must first
install:
1. The network interface hardware.
2. A corresponding packet driver.
3. A packet driver shim (if needed).
4. A packet multiplexer (if needed).
Detailed directions for these preliminary steps are available in
separate documentation that comes with the corresponding
hardware or software.
It's most common that multi-node BBS's are interconnected with
Ethernet and either Lantastic or Novell. Unfortunately, these
two network operating systems were designed using their own
proprietary protocols rather than the TCP/IP protocol and their
own proprietary software rather than packet drivers to talk to
their Ethernet interface cards. However, a piece of software
called a packet driver "shim" can be used to let both TCP/IP and
their proprietary protocol coexist.
2.1 Packet Driver Shims for Novell
Novell's network software is installed in layers as TSRs in the
order shown below. These commands are usually found either in
the AUTOEXEC.BAT file or in another batch file in a directory
typically called C:\NWCLIENT.
LSL
NE2000 }-- specific to your interface card
IPXODI
VLM
The packet driver shim (ODIPKT) logically sits on top of IPXODI,
providing a packet driver interface for software such as KSP
SLIP:
LSL
NE2000 +--- Frame Type (0-3)
IPXODI |
ODIPKT 2 97 }--- The packet driver shim
VLM |
+----- Packet Vector Interrupt (96-127)
(See comment below about hex vs. decimal)
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 6
The ODIPKT command line parameters may vary according to which
version of the software you have and how your hardware is
configured. The "Frame Type" parameter should correspond to the
position of ETHERNET_II among the frame types specified in
NET.CFG; zero (0) selects the first frame type, one (1) the
second, and so on. The "Packet Vector Interrupt" number should
correspond to an unused interrupt vector. Note that older
versions of ODIPKT insist that this number be given in decimal
(96-127) rather than in hex (0x60-0x7F). The necessary packet
driver shim can be downloaded from the Key Software Products BBS
as file ODI-SHIM.ZIP.
2.2 Packet Driver Shim for Novell w/Token-RingSNAP
Another shim called ODITRPKT exists for Novell that should be
used if the underlying network is Token-Ring_SNAP. Installation
is similar to ODIPKT as described above, except that the first
command line parameter must correspond to the Token-Ring_SNAP
frame type in NET.CFG, and starts at "1" rather than "0". This
shim can be downloaded from the Key Software Products BBS as
file TKN-SHIM.ZIP.
2.3 Packet Driver Shims for Lantastic
Using a packet driver shim with Lantastic requires that
Lantastic be installed using NDIS (Network Driver Interface
Specification) Support. The necessary packet driver shim can be
downloaded from the Key Software Products BBS as file
DIS-SHIM.ZIP.
NDIS allows you to stack multiple protocols on a single
adapter. This lets you use multiple protocol drivers (such as
LANtastic and TCP/IP) on the same adapter. You can also use
NDIS to include third-party adapters that have NDIS drivers in
your LANtastic network. Supported adapter types include
Ethernet, Token-Ring and ARCNET (R) adapters. The software and
documentation necessary to add NDIS support to an existing
Lantastic network is available free of charge from Artisoft.
Once you have NDIS installed and working with Lantastic, adding
the shim is a simple matter of editing PROTOCOL.INI (part of the
NDIS support) and CONFIG.SYS.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 7
2.3.1 Changes to CONFIG.SYS
With NDIS installed, there will be two device driver lines in
your CONFIG.SYS file that look something like the following:
DEVICE=C:\LANTASTI\PROTMAN.DOS /I:C:\LANTASTI
DEVICE=C:\LANTASTI\AEXNDIS.DOS
The file listed in the second line may differ if you are not
using Artisoft's interface card; in that case, this file would
typically be replaced by a NDIS driver supplied by the card
manufacturer.
The packet driver shim itself is installed as a third device
driver after the first two, as in:
DEVICE=C:\LANTASTI\PROTMAN.DOS /I:C:\LANTASTI
DEVICE=C:\LANTASTI\AEXNDIS.DOS
DEVICE=C:\DRIVERS\DIS_PKT.DOS }--- The packet driver shim
2.3.2 Changes to PROTOCOL.INI
The PROTOCOL.INI file is a text file created (usually in the
C:\LANTASTI directory) as part of the NDIS installation. Before
adding the packet driver shim, it typically looks like the
following, but with the "iobase" and "interrupt" parameters
changed according to your hardware, or with the entire
"[AEXNDIS_NIF]" section replaced if you are not using an
Artisoft interface card.
[PROTMAN]
DRIVERNAME = PROTMAN$
DYNAMIC = YES
[AEXNDIS_NIF]
DRIVERNAME = AEXNDS$
IOBASE = 0x300
INTERRUPT = 15
Adding the packet driver shim requires adding another section to
the PROTOCOL.INI file:
[PROTMAN]
DRIVERNAME = PROTMAN$
DYNAMIC = YES
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 8
[AEXNDIS_NIF] <---+
DRIVERNAME = AEXNDS$ |
IOBASE = 0x300 |
INTERRUPT = 15 | These names must match!
|
[PKTDRV] |
DRIVERNAME = PKTDRV$ |
BINDINGS = AEXNDIS_NIF <---+
INTVEC = 0x61
CHAINVEC = 0x66
NOVELL = Y
Note that the name "AEXNDIS_NIF" must exactly match the spelling
used as the title of the previous section, "[AEXNDIS_NIF]"; if
you are not using Artisoft interface cards, then both occurences
will use some other identifier. The "INTVEC" parameter may be
anything from 0x60 to 0x80; you may have to experiment to find
an unused interrupt number.
2.4 Packet Driver Shims for Banyan Vines
Although Key Software Products has never used it, and thus
cannot offer help on its installation, a packet driver shim does
exist for Banyan Vines and can be downloaded from the Key
Software Products BBS as file BAN-SHIM.ZIP.
2.5 Other Things to Configure
Once your network is up and running with a packet driver or a
packet driver shim, there are basically two additional steps:
1. Create a WATTCP.CFG configuration file.
2. Configure KSP SLIP as a BBS door.
As discussed in the next chapter, you may not need a WATTCP.CFG
configuration file if you have a BOOTP server.
There is a useful program called TCPINFO available on the KSP
BBS. If you have no WATTCP.CFG file, it will tell you (after a
maximum of 30 seconds) if it was able to automatically configure
itself via a BOOTP server. If you have a WATTCP.CFG file, it
will determine whether or not you have configured that file
properly.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 9
CHAPTER 3 - THE WATTCP CONFIGURATION FILE
In order to run, KSP SLIP needs to know some information about
your network, and tries to find this in a configuration file
called WATTCP.CFG. KSP SLIP looks in three directories to
locate this file. First, it checks for an environment variable
called WATTCP.CFG that specifies the directory. Second, it
looks in the current (default) directory. Third, if still not
found, it looks in the directory that contains the executable
(KSP-SLIP.EXE).
The following example may be helpful for those using the
environment variable approach: If you place WATTCP.CFG in your
PCB directory, then your AUTOEXEC.BAT file should contain the
following command:
set WATTCP.CFG=C:\PCB
Note that there is no trailing "\" after the directory name!
If KSP SLIP still can't find the configuration file, it will
attempt to automatically configure itself by looking for a
"BOOTP" server on your network. (BOOTP is a standard protocol
that obtains your "IP address" and other information about your
PC from a BOOTP server.) If there is no BOOTP server, or if
your PC is not registered in its database, then you must create
a configuration file.
The configuration file contains one entry per line. A sample
configuration file is included in this distribution, but the
values MUST be modified to suit your particular environment or
else KSP SLIP will not work!
The syntax of every entry follows the following format:
[ directive = [ "data" | data] ] [ # comment | ; comment ]
I.e., if a directive is not followed by data, the directive is
ignored. Similary, lines without directives are ignored. The
directive is NOT case sensitive; the data IS case sensitive.
e.g., netmask=255.255.252.0
domainslist=ksp.com ; Our domain
Whitespace is normally removed from data; data containing blanks
must be surrounded by quotes. An unquoted '#' or ';' marks the
beginning of a comment.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 10
3.1 Multiple Nodes and the "include" Directive
There must be one WATTCP.CFG file for each BBS node since each
node has to be configured with a unique hostname and IP
address. All other configuration parameters are usually set at
the same values for all nodes. Rather than duplicating these
common entries in each WATTCP.CFG file, you can set-up a master
configuration file that gets "included" in each of the
node-specific files. For example, the node-specific file
(WATTCP.CFG) might look like:
include=c:\ksp\master.cfg
hostname=ourbbspc
myip=125.283.210.17
This makes it much easier to make changes since you only have to
modify a single file (MASTER.CFG).
3.2 Using a BOOTP Server
It's always a good idea to have a configuration file whether or
not you use a BOOTP server. If you choose to use a
configuration file and want to tell it to use the BOOTP server,
this option allows you to specify your the IP address of your
BOOTP server.
Example: bootp=129.255.0.128
You should specify the domain name manually as described in the
next section since the BOOTP protocol doesn't provide that
information.
Example: domainslist=ksp.com
NOTE: An "IP address" is a logical addressing scheme used on
TCP/IP networks such as the Internet. Each computer connected
to the Internet is assigned a unique IP address. Your local
network "guru" or access provider should be able to provide you
with those IP addresses you need.
IMPORTANT: The IP addresses given in this document are only
examples. Do NOT attempt to use them - they will NOT work and
your network administrator will probably get VERY upset!
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 11
3.3 Manual Configuration
If you don't have a BOOTP server, or if your PC is not
registered with a BOOTP server, then you must use the following
directives to configure KSP SLIP. The values of these
parameters are important, and KSP SLIP will NOT function
properly without the proper values. If you are not familiar
with the terminology, or if you are unsure of the proper values,
please consult with your network access provider.
3.3.1 The PC's Host Name
This is the network name of the PC that runs your BBS (and thus
KSP SLIP). If your BBS is implemented by a network of PC's,
then each PC should have its own unique host name.
Example: hostname=bbs
Note that the host name does not include the domain name
suffix. For example, the hostname of machine '"bbs.ksp.com" is
simply "bbs".
3.3.2 The PC's Domain Name
This is the network name of the subnet to which your PC (and
possibly others) are connected.
Example: domainslist=ksp.com
Note that the domain name does not include the host name
prefix. For example, the domain name of machine '"bbs.ksp.com"
is "ksp.com".
3.3.3 The PC's IP Address
This is the unique IP address assigned to your PC.
Example: my_ip=100.2.37.4
Your local network "guru" or access provider should be able to
provide you with the proper IP address of your PC. Note that
you should have a different IP address for each node in your
BBS.
Note: As an alternative, you may also set the IP address using
an environment variable, as in:
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 12
set ksp-ip=100.2.37.4
3.3.4 The Name Server's IP Address
This is the unique IP address assigned to a network name
nerver. You may specify more than on nameserver by using more
than one "nameserver" line.
Example: nameserver=111.21.108.110
Your local network "guru" or access provider should be able to
provide you with the proper IP addresses of appropriate network
name servers.
3.3.5 The Router's IP Address
This is the unique IP address assigned to the network router.
Syntax: gateway = ipaddr [ , subnet [ , subnet_mask ] ]
Examples: gateway=129.97.176.1
gateway=129.97.176.2, 129.97.0.0
gateway=129.97.176.2, 129.97.0.0, 255.255.0.0
Usually the (destination) subnet and subnet mask need not be
specified, and is used to create a "default". The other forms
are used to specify one or more other gatewaya for particular
subnets.
Your local network "guru" or access provider should be able to
provide you with the proper IP address of the network router.
3.3.6 The PC's Network Mask
Network masks are used to distinguish destination IP addresses
that are on the local subnet from those that are not. This
option may not be required, depending on your network topology.
Example: netmask=255.255.254.0
Your local network "guru" or access provider should be able to
provide you with the proper netmask if needed.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 13
3.4 TCP/IP Parameters (optional)
KSP SLIP will work without using the following parameters, but
they are provided if you wish to change them.
3.4.1 Timeouts
Most network operations (such as establishing a connection to a
remote host) have a maximum time before a timeout error occurs.
The default value is 30 seconds; a smaller value is unwise, but
larger values may be necessary for particularly bad
connections.
Example: sockdelay=40
3.4.2 Maximum Segment Size (MSS)
The default value of MSS is 1400. If you know what maximum
segment size means and know what size you want, you can change
it:
Example: mss=512
Note: Some Internet access providers configure their
dial-up slip and ppp accounts with a very small segment
size. You may need to set mss as low as 212 if your
Internet connection is through such a connection.
3.5 SLIP Operating Parameters
The remaining parameters in WATTCP.CFG are operating parameters
for KSP SLIP that define limits and display files needed while
KSP SLIP is running. Each follows the format:
ksp-slip.<parameter>=<value>
where <parameter> and <value> are replaced by appropriate
strings.
Some operating parameters have counterparts in other members of
the KSP family of network application programs. Rather than
have multiple entries in the WATTCP.CFG file for each
application, such parameters can be specified globally using the
format:
ksp.<parameter>=<value>
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 14
This global setting can be overridden for a specific application
by using the application-specific form at a subsequent line in
WATTCP.CFG.
3.5.1 Dynamic Parameters
Configuration file parameters can be made "dynamic". Such
parameters are ignored unless activated by an associated command
line option:
/CONFIG=<number>
where "<number>" is a non-zero integer. Dynamic configuration
parameters are those that specify a number in square backets as
in:
ksp-slip[<number>].<parameter>=<value>
The number specified in the configuration parameter must match
that in the command line option or else the configuration
parameter will be ignored.
This also works for dynamic global parameters of the form:
ksp[<number>].<parameter>=<value>
3.5.2 Blocking Access to Certain Sites
Syntax: ksp-slip.blocked_tcp=<blocked>[,<address_mask>[,<forward>]]
or: ksp-slip.blocked_udp=<blocked>[,<address_mask>[,<forward>]]
Where: <blocked> and <forward> are each of the form
<dotted_ip_address>[:<port_number>]
Example: (see below)
Purpose: Specifies a blocked TCP (or UDP) site and mask, and a
new forwarding site; each site is specified as an IP
address and optional port number. May be repeated to
block additional sites. No access to sites matching
one of these specs will be allowed (see
"ksp-slip.allowed_tcp"" and "ksp-slip.allowed_udp"),
although such access may be optionally forwarded to
another site.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 15
Any value may be omitted; commas are sometimes required
when then default mask is implied by omission.
Defaults are as follows:
<blocked> = <blocked_IP>:<blocked_port>
<forward> = <forward_IP>:<forward_port>
<blocked_IP> = 0.0.0.0 (not legal)
<blocked_port> = 0 (match any port number)
<address_mask> = 255.255.255.255
(match ALL bits of <blocked_IP>)
<forward_IP> = 0.0.0.0 (don't forward this packet)
<forward_port> = 0 (use original destination port)
A match occurs when the site's IP address and the
<blocked_IP> address of an entry in the file are the
same everywhere there are 1's in the binary
representation of <address_mask>; the site's port
number must match <blocked_port> only if the latter is
non-zero. Matching occurs in the same order that
entries appear in the WATTCP.CFG configuration file;
when a original IP address and port match multiple
entries, the first match found is the one that's used.
Consider the following examples:
1.2.3.4 No access to this IP
address.
1.2.3.4:21 No access to port 21
at this IP.
1.2.3.4,,5.6.7.8:21 All packets addressed
to 1.2.3.4 are forwarded
to 5.6.7.8, port 21
1.2.3.0,255.255.255.0 No access to 1.2.3.0
through 1.2.3.255
1.2.3.0:21,255.255.255.0 Same as last, but
only port 21.
Comment: If no forwarding address is specified, KSP-SLIP returns
a type 3 ("host unreachable") ICMP error packet to the
caller's slip client software, with explanation code 10
("communication with destination host is
administratively forbidden"). Although the caller's
client software may present a corresponding error
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 16
message to the user, some (such as Trumpet Winsock)
will simply ignore such ICMP packets. In the latter
case, the user may not understand why there's no
response from the remote host, and thus some
explanation (such as a posted bulletin) should be
provided on the BBS.
Comment: Nameservers use UDP port 53 translate domain names into
IP addresses. The nameservers listed in your
WATTCP.CFG file are automatically considered as
exceptions (see below) to your UDP blocking
restrictions; there is no need to specify such
exceptions explicitly. You may wish to consider,
however, specifying an general exception for all UDP
port 53 access regardless of IP address in case the
remote SLIP user has configured a different nameserver
in their setup.
Comment: If <forward> is specified as 0.0.0.x where 0 < "x" <
256, then rather than forwarding the blocked packet to
this IP address, KSP-SLIP will exit with an errorlevel
of "x".
3.5.3 Exceptions to Blocking
Syntax: ksp-slip.allowed_tcp=<destination>[,<address_mask>]
or: ksp-slip.allowed_udp=<destination>[,<address_mask>]
Where: <destination> = <dotted_ip_address>[:<port_number>]
Example: (see examples for "ksp-slip.blocked_tcp")
Purpose: Specifies an exception to the TCP or UDP blocking
restrictions. May be repeated as necessary to list
more than one exception. Note that there is no
"<forward>" parameter. These parameters are only
useful in combination with blocking parameters.
3.5.4 Combining Blocking + Forwarding + Exceptions
The following combination causes all telnet and ftp access to be
redirected to 129.20.31.12 and all http (Web) access to be
redirected to 210.200.54.2. Any other TCP access is redirected
to 200.73.49.32; the last entry, however, specifies an exception
to these rules and allows any kind of access to machines
137.40.15.0 through 137.40.15.255
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 17
ksp-slip.blocked_tcp=0.0.0.0:23,0.0.0.0,129.20.31.12 ; telnet
ksp-slip.blocked_tcp=0.0.0.0:21,0.0.0.0,129.20.31.12 ; ftp
ksp-slip.blocked_tcp=0.0.0.0:80,0.0.0.0,210.200.54.2:81 ; http
ksp-slip.blocked_tcp=0.0.0.0,0.0.0.0,0,200.73.49.32 ; default
ksp-slip.allowed_tcp=137.40.15.0,255.255.255.0,0
Note that the mask is 0.0.0.0 in each of the first four lines
causes all of the IP address bits to be ignored; i.e., that the
IP address is a "don't care". The fifth line uses a mask of
255.255.255.0; this requires only the first 24 bits of the IP
address to match (corresponding to a class C subnet).
These entries have no effect on ARP or UDP protocol access; thus
there is no need to include an "allowed_tcp" entry for your
router(s) (gateways) or name server(s).
3.5.5 Session Time Limit
Syntax: ksp-slip.max_mins=<number>
Example: ksp-slip.max_mins=30
Purpose: Overrides the time remaining as specified in DOOR.SYS
if lower. If omitted, time remaining is that specified
by DOOR.SYS.
3.5.6 Session Reserve Time
Syntax: ksp-slip.reserve_mins=<number>
Example: ksp-slip.reserve_mins=3
Purpose: Reduces the time available in the door so that if time
runs out, the user still has a small amount of time
left on the BBS. This is useful, for example, if your
BBS offers a Time Bank so that users can use it to
withdraw extra time.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 18
3.5.7 Inactivity Limit
Syntax: ksp-slip.idle_mins=<minutes>
Example: ksp-slip.idle_mins=10
Purpose: Establishes an upper limit on how long the session can
remain inactive before it is terminated. If omitted,
no inactivity limit is imposed.
3.5.8 Minimum Baud Rate
Syntax: ksp-slip.minbaud=<baudrate>[,<security>]
Example: ksp-slip.minbaud=9600
Example: ksp-slip.minbaud=9600,100
Purpose: Specifies a minimum baud rate required to use the
gateway, and an optional security level required to
override the minimum baud rate. If omitted, no minimum
baud rate will be required.
3.5.9 Operating Hours
Syntax: ksp-slip.ophours=<hh:mm-hh:mm>
Example: ksp-slip.ophours=21:00-23:00
Purpose: To establish the hours of operation for the gateway;
attempts to use the gateway at other times will be
disallowed. Times must be specified in 24 hour
format. If omitted, the gateway may be used at any
time.
Note: If start time is after the stop time, the hours of
operation will be interpreted as all but those in the
window specified. I.e., setting ophours to 03:20-03:00
will allow operation anytime except 03:00-03:20.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 19
3.5.10 Startup Message
Syntax: ksp-slip.startup_msg=<filespec>
Example: ksp-slip.startup_msg=c:\ksp-slip\startup.msg
Purpose: Specifies the location of a display file sent to the
user when the gateway is initialized. If omitted, no
display file is sent.
3.5.11 Minimum Baud Rate Message
Syntax: ksp-slip.minbaud_msg=<filespec>
Example: ksp-slip.minbaud_msg=c:\ksp-slip\minbaud.msg
Purpose: Specifies the location of a display file sent to the
user if the his baud rate is less than that required by
the "ksp-slip.minbaud" option (described earlier). If
omitted, no display file is sent.
3.5.12 Operating Hours Message
Syntax: ksp-slip.ophours_msg=<filespec>
Example: ksp-slip.ophours_msg=c:\ksp-slip\ophours.msg
Purpose: Specifies the location of a display file sent to the
user if the he attempts to use the gateway at other
than the hours specified by the "ksp-slip.ophours"
option (described earlier). If omitted, no display
file is sent.
3.5.13 User Session Logging
Syntax: ksp-slip.log_dir=<pathspec>
Example: ksp-slip.log_dir=c:\ksp-slip
Purpose: Specifies the name of a directory where a log of user
sessions will be kept. The log files are named
KSP-SLIP.???, where "???" is the BBS node number.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 20
3.5.14 SLIP Packet Monitor
Syntax: ksp-slip.status=<method>
Example: ksp-slip.status=direct
Purpose: Enables local console display of SLIP packet counts and
selects output method. Options are "direct" (fastest),
"bios", and "ansi" (slowest). If running under a
multi-tasker, you may need to specify "ansi" or "bios";
otherwise use "direct".
3.5.15 Non-Standard Port/Fossil Break Detect
Syntax: ksp-slip.serial_port=<adr>,<irq>
Example: ksp-slip.serial_port=3F8,5
Purpose: Used to override serial port and IRQ values implied by
"COMx" in DOOR.SYS to support non-standard
configurations that are NOT using a fossil driver.
Also used WITH a fossil driver to add serial break
detection as required to return to BBS without hanging
up.
The port address <adr> must be specified in hex, and
the interrupt request line number <irq> must be
specified in decimal.
3.5.16 Eliminating the Startup Count-Down
Syntax: ksp-slip.countdown=<yes|no>
Example: ksp-slip.countdown=no
Purpose: Used to eliminate the default "Press any key to begin"
message and nine-second countdown at startup. Default
is 'yes'.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 21
3.5.17 Silencing the BBS console bell
Syntax: ksp-slip.local_bell=<option>
Example: ksp-slip.local_bell=disabled
Purpose: Used to silence the bell on the local BBS console.
3.5.18 Disabling the Local Screen
Syntax: ksp-slip.local_screen=<option>
Example: ksp-slip.local_screen=disabled
Purpose: Used to disable painting of the local (BBS) screen,
thus improving screen painting speed for the caller.
This option does not affect status displays on the
local console.
3.5.19 Hanging Up When Exiting From the Door
Syntax: ksp-slip.hangup=<option>
Example: ksp-slip.hangup=disabled
Purpose: KSP-SLIP will hangup before returning to the BBS if the
session was terminated due to expired time or
inactivity. This protects the BBS command line
interpreter from being fed the remnants of a tcp/ip
packet. However, this parameter can be used to prevent
this hangup by setting it to "disabled".
Comment: Optional; default is "enabled".
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 22
CHAPTER 4 - INSTALLING THE SLIP DOOR COMMAND
Install KSP SLIP as you would any other door program on your
BBS. Be sure you setup the BBS to create a DOOR.SYS file for
KSP SLIP when it runs. (KSP SLIP does not need a USER.SYS
file.) If you are running multiple BBS nodes accessing a single
copy of the file KSP-SLIP.EXE, then don't forget to make that
file (and the *.MSG display files) read-only using the DOS
ATTRIB command in order to avoid sharing conflicts.
Most BBS's use a batch file to run a door. For example, on
PCBoard systems you might create a door batch file called "SLIP"
containing simply:
C:\KSP\KSP-SLIP
BOARD
Do NOT change directories within this batch file! KSP SLIP
expects to find the DOOR.SYS file in whatever is the default
directory at the moment it starts to run. That's why the name
of the program is preceeded by the name of the directory where
it is located.
Of course, you must also configure your BBS so it knows where to
find this batch file (SLIP).
4.1 Command Line Parameters
4.1.1 The /MAXMINS Parameter
The /MAXMINS parameter is an alternative to the same parameter
that appears in the WATTCP.CFG file. It provides another
mechanism for limiting the maximum time a caller is allowed in
the door. The syntax is:
/MAX_MINS=<minutes>
where "<minutes>" is replaced by a number, as in:
KSP-SLIP /MAX_MINS=60
4.1.2 The /CONFIG Parameter
The /CONFIG parameter is used in conjunction with "dynamic"
configuration parameters to enable or disable them. For a
complete description of this feature, please see the section
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 23
called "Dynamic Parameters".
4.1.3 KSP-SLIP.EXE Exit Codes
At the end of execution, KSP-SLIP exits with an errorlevel that
indicates the reason for termination:
0 User never got past startup screen
1 Carrier lost (user hung up)
2 Break detected (intentionally sent by user)
3 Inactivity timeout
4 Session timeout
255 Some sort of program error condition
4.1.4 Checking Packet Counts (PKTCOUNT.EXE)
At the end of execution, KSP-SLIP writes a one-line ascii text
file containing three numbers. For example, the line might look
like:
1534 1647 35
| | |
| | +--- number of bad packets received from user
| +------- number of good packets received from user
+------------- number of packets transmitted to user
The content of this file is overwritten each time you run
KSP-SLIP. A companion program called PKTCOUNT.EXE has been
provided to read and exits with one of these numbers as its
errorlevel (limited to 255); this program can be used in the
batch file that runs the door for various accounting purposes.
For example, you may not wish to charge a user if they were
having configuration problems with their slip client software,
usually indicated by lots of bad packets received and only a few
good ones.
The PKTCOUNT program requires one command line argument:
PKTCOUNT <option>
where "<option>" is one of "SENT", "GOOD", or "BAD". Running
the program with no command line argument will produce a short
usage summary.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 24
CHAPTER 5 - INSTALLING YOUR ACCESS KEY
The unlicensed version of KSP SLIP limits each user to a maximum
of five minutes per session. To remove this limit, you must
purchase an access key and install it as described below; once
installed, users will be limited only by their time remaining on
the BBS.
There are three parameters that must be specified in two
environment variables called "KSP-ID" and "KSP-SLIP" in order to
install your access key; the access key will not be validated if
any parameter is missing.
The environment variable "KSP-ID" is used to specify your BBS
name, as in:
set ksp-id=Key Software Products BBS
The environment variable "KSP-SLIP" is used to specify the
number of BBS nodes and your access key separated by a semicolon
as in:
set ksp-slip=2;12345678
The access key is derived from the name of your BBS and the
number of BBS nodes. The specified key must match the
combination of BBS name and nodes. If not, or if you invoke KSP
SLIP on a node whose node number is greater than indicated, then
the caller will be limited to five minutes per session.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 25
CHAPTER 6 - CUSTOMIZING THE DISPLAY FILES
The distribution package includes three sample display files:
OPHOURS.MSG Displayed during off hours
STARTUP.MSG Displayed on start of gateway session
LOSPEED.MSG Displayed if baud rate is too low
These files have been customized by the use of certain
predefined "macros". Some of these macros are a subset of those
supported by PCBoard, while others are unique to KSP SLIP.
6.1 PCBoard Display Macros
The following PCBoard display macros, plus all of PCBoard's
"@X##" color control macros, may be used within KSP SLIP display
files. For a description of what they represent, refer to the
PCBoard documentation.
@BEEP@ @CLREOL@ @CLS@
@FIRST@ @MINLEFT@ @SECURITY@
@SYSDATE@ @SYSTIME@ @USER@
@POS:#@
6.2 Macros Unique to KSP SLIP
The following additional display file macros are also supported
by KSP SLIP.
@SLIPIP@ The IP address of the BBS node
@SLIPNAME@ The SLIP node's network name
@DCESPEED@ Current DCE (carrier) speed
@DTESPEED@ Current DTE (PC-Modem) speed
@EXPIRETIME@ Expire time in HH:MM format
@IDLEMINS@ Maximum inactivity time
@MINDCESPEED@ Minimum DCE (carrier) speed
@OPHOURS@ Hours of operation
@OVERRIDE@ Override security for mindcespeed
6.3 Justification and Spacing
Any of the text insertion macros used in KSP SLIP display files
can appear in one of four forms as discussed in the following
paragraphs. These options allow you to precisely control
spacing, and allow you to draw a box around a message - even
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 26
when replacement text within a line has a varying length.
6.3.1 No Justification
Syntax: @<keyword>@
Example: @USER@
Purpose: Inserts the replacment text, using as many columns as
are necessary.
6.3.2 Left Justification
Syntax: @<keyword>:<number>@
or: @<keyword>:<number>L@
Example: @USER:15@
or: @USER:15L@
Purpose: Insert the replacement text, left justifying it within
a field whose width is specified by the number
following the colon. If more columns are required than
provided in the field width, the field is expanded.
macro.
6.3.3 Center Justification
Syntax: @<keyword>:<number>C@
Example: @USER:15C@
Purpose: Insert the replacement text, centering it within a
field whose width is specified by the number following
the colon. If more columns are required than provided
in the field width, the field is expanded.
6.3.4 Right Justification
Syntax: @<keyword>:<number>R@
Example: @USER:15R@
Purpose: Insert the replacement text, right justifying it within
a field whose width is specified by the number
following the colon. If more columns are required than
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 27
provided in the field width, the field is expanded.
6.4 The DISPLAY Program
Included among the distribution files is DISPLAY.EXE, a program
that helps design a display file by allowing it to be viewed
offline. The command line syntax is:
DISPLAY [-g] [-7] <filespec>
Where: <filespec> Is the name of the display file.
The filename extension defaults
to ".MSG" if omitted.
[] Denotes an optional argument.
-g Enables (color) graphics and
ANSI control sequences; requires
ANSI.SYS to be installed.
Default is disabled.
-7 Replaces 8-bit graphics characters
with suitable 7-bit alternatives.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 28
APPENDIX 1 - HOW TO REACH US
The Key Software Products BBS/FAX number (415-364-9847) operates
24 hours a day, 7 days a week. Software at our end
automatically determines whether an incoming call is data or FAX
and will operate accordingly.
If you have access to electronic mail, you can send us a message
via any of the following:
On COMPUSERVE, send mail to:
>Internet:tech.support@ksp.com
On Internet, UUCP, or Bitnet, send mail to:
tech.support@ksp.com
On Fidonet, address mail to "UUCP" at nearest fidonet site which
provides a gateway to Internet, such as 1:105/42.
1st line of message: To: tech.support@ksp.com
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 29
APPENDIX 2 - GETTING UPDATES VIA THE INTERNET
The main distribution file is KSPSLP??.ZIP, where "??" is the
version number. You can retrieve this file via modem from our
BBS or via anonymous ftp at "scizzl.scu.edu", directory "ksp".
Please note that there is no "e" at the end of "scizzl".
Copyright (C) 1995-96, Key Software Products. All Rights Reserved
Oct 03, 1996 KSP SLIP (tm) v3.7 30
APPENDIX 3 - LEGAL STUFF
LIMITED WARRANTY
This software is provided 'as is' without warranty of any kind,
either expressed or implied, including, but not limited to the
implied warranties of merchantability and fitness for a
particular purpose. The entire risk as to the quality and
performance of the program is with you.
Some states do not allow the exclusion of implied warranties, so
the above exclusions may not apply to you. This warranty gives
you specific legal rights and you may also have other rights
which vary from state to state.
Key Software Products has taken due care in preparing the
documentation and software included in to ascertain their
correctness and effectiveness. However, Key Software Products
does not warrant that operation of this software will be
uninterrupted or error free. In no event shall Key Software
Products be liable for incidental or consequential damages in
connection with or arising out of the furnishing, performance,
or use of this software.
LICENSE
You MAY use this software on any computer or computers in your
possession. The licensed version is registered for use on up to
a fixed number of BBS nodes running on multiple machines and/or
multiple multi-tasking processes.
You MAY copy this software into any machine readable or printed
form for backup or modification purposes in support of your use
of the software.
You MAY distribute the original unmodified, unlicensed version
of this software, but you may not charge a fee exceeding $5.00
to cover the cost of duplicating, shipping, and handling. You
may NOT distribute a licensed version of this software.
You may NOT use, copy, modify, sublicense, assign or transfer
this software and its license, or any copy or modification, in
whole or in part, except as expressly provided for in this
license.
Copyright (C) 1995-96, Key Software Products. All Rights Reserved